/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package model.beans;

import java.io.Serializable;
import java.util.LinkedList;
import java.util.List;
import javax.persistence.CascadeType;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.OneToMany;
import javax.persistence.OneToOne;
import javax.persistence.Table;

/**
 *
 * @author kelyane
 */

@Entity
@Table(name="Receita")
@NamedQueries({
    @NamedQuery(name="findAllReceita", query="from Receita")
})
public class Receita implements Serializable {
    
    @Id
    @GeneratedValue(strategy= GenerationType.AUTO)
    private Integer id;
    
    @OneToOne(cascade = CascadeType.ALL,fetch = FetchType.EAGER)
    @JoinColumn(name = "RECEITA_CONSULTA_ID", nullable = false)
    private Consulta consulta;
    
    
    @OneToMany(mappedBy = "receita")
    private List<Medicamento> medicamentos = new LinkedList<>();    

    public Receita() {
        super();
    }
        
    public Receita(Consulta consulta){
        this.consulta = consulta;
    }
    
    public void addMedicamento(Medicamento medicamento){
        medicamentos.add(medicamento);
    }

    public List<Medicamento> getMedicamentos() {
        return medicamentos;
    }

    public void setMedicamentos(List<Medicamento> medicamentos) {
        this.medicamentos = medicamentos;
    }

    public Consulta getConsulta() {
        return consulta;
    }

    public void setConsulta(Consulta consulta) {
        this.consulta = consulta;
    }
    
    
    
    
}
